package cn.android666.net.util.download

/** 文件下载结果回调，回调方法运行在主线程 */
interface DownloadCallback {

    /**
     * 文件之前就下载好了
     * @param filePath apk文件所在路径
     */
    fun onDownloaded(filePath: String)

    /** 准备开始下载 */
    fun onPreDownload(apkName: String)

    /**
     * 文件开始下载
     * @param fileDisplayName 文件显示名称
     * @param fileSize 下载文件的大小
     */
    fun onDownloadStart(fileDisplayName: String, fileSize: Long)

    /**
     * 文件正在下载
     * @param currentPosition 文件当前下载的位置
     * @param speed 下载速度
     */
    fun onLoading(currentPosition: Long, speed: Long)

    /**
     * 文件下载完成
     * @param fileSavedPath 下载的文件的保存位置
     */
    fun onDownloadCompleted(fileSavedPath: String)

    /**
     * 文件下载失败
     * @param errorMsg 下载失败的原因
     */
    fun onDownloadFail(errorMsg: String)

}